package com.ly.heart.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 金蝶-采购价目/折扣主表对象 erp_king_purchase_price_info
 *
 * @author cxl
 * @date 2024-06-20
 */
@TableName ( "erp_king_purchase_price_info" )
@ApiModel ( value = "金蝶-采购价目/折扣主表", description = "金蝶-采购价目/折扣主表" )
@Data
public class KingPurchasePriceEntity extends BaseVo {


    /**
     * 主键id
     */
    @TableId ( type = IdType.INPUT )
    private String id;

    /**
     * 类型（0价目表 1折扣表）
     */
    @TableField ( "type" )
    @ApiModelProperty ( "类型（0价目表 1折扣表）" )
    @Excel ( name = "类型", readConverterExp = "0=价目表,1=折扣表" )
    private Integer type;

    /**
     * 采购组织（组织列表）
     */
    @TableField ( "purchase_dept" )
    @ApiModelProperty ( "采购组织（组织列表）" )
    @Excel ( name = "采购组织", readConverterExp = "组织列表" )
    private String purchaseDept;

    /**
     * 编码
     */
    @ApiModelProperty ( "编码" )
    @TableField ( "code" )
    @Excel ( name = "编码" )
    private String code;

    /**
     * 名称
     */
    @ApiModelProperty ( "名称" )
    @TableField ( "name" )
    @Excel ( name = "名称" )
    private String name;

    /**
     * 价目表对象（下拉）
     */
    @TableField ( "price_object" )
    @ApiModelProperty ( "价目表对象,下拉" )
    @Excel ( name = "价目表对象", readConverterExp = "下=拉" )
    private String priceObject;

    /**
     * 价格类型
     */
    @ApiModelProperty ( "价格类型" )
    @TableField ( "price_type" )
    @Excel ( name = "价格类型" )
    private String priceType;

    /**
     * 币别id
     */
    @ApiModelProperty ( "币别id" )
    @TableField ( "currency_id" )
    @Excel ( name = "币别id" )
    private String currencyId;

    /**
     * 供应商id
     */
    @ApiModelProperty ( "供应商id" )
    @TableField ( "supplier_id" )
    @Excel ( name = "供应商id" )
    private String supplierId;

    /**
     * 定价员id
     */
    @ApiModelProperty ( "定价员id" )
    @TableField ( "pricing_officer" )
    @Excel ( name = "定价员id" )
    private String pricingOfficer;

    /**
     * 是否暂存
     */
    @ApiModelProperty ( "是否暂存" )
    @TableField ( "is_temp" )
    @Excel ( name = "是否暂存" )
    private Boolean isTemp;

    /**
     * 是否含税
     */
    @ApiModelProperty ( "是否含税" )
    @TableField ( "including_tax" )
    @Excel ( name = "是否含税" )
    private Boolean includingTax;

    /**
     * 价外税
     */
    @ApiModelProperty ( "价外税" )
    @TableField ( "extra_tax" )
    @Excel ( name = "价外税" )
    private Boolean extraTax;

    /**
     * 是否默认
     */
    @ApiModelProperty ( "是否默认" )
    @TableField ( "is_default" )
    @Excel ( name = "是否默认" )
    private Boolean isDefault;

    /**
     * 备注
     */
    @ApiModelProperty ( "备注" )
    @TableField ( "remark" )
    @Excel ( name = "备注" )
    private String remark;

    /**
     * 创建人Id
     */
    @ApiModelProperty ( "创建人Id" )
    @TableField ( "user_id" )
    @Excel ( name = "创建人Id" )
    private String userId;

    /**
     * 更新时间
     */
    @ApiModelProperty ( "更新时间" )
    @TableField ( "change_time" )
    @JsonFormat ( pattern = "yyyy-MM-dd HH:mm:ss" )
    private Date changeTime;

    @ApiModelProperty ( "创建时间" )
    @TableField ( "create_time" )
    @JsonFormat ( pattern = "yyyy-MM-dd HH:mm:ss" )
    private Date createTime;

    @ApiModelProperty ( "是否禁用" )
    @TableField ( "is_disabled" )
    @Excel ( name = "逻辑删除" )
    private Integer isDisabled;

    @ApiModelProperty ( "逻辑删除" )
    @TableField ( "is_used" )
    @Excel ( name = "逻辑删除" )
    private Integer isUsed;

    @TableField ( exist = false )
    @ApiModelProperty ( "采购价目/折扣明细表" )
    private List<KingPurchasePriceDetailEntity> detailList;

    @TableField ( exist = false )
    private String supplierName;
    @TableField ( exist = false )
    private String pricingOfficerName;
    @TableField ( exist = false )
    private String currencyName;
    @TableField ( exist = false )
    private String purchaseDeptName;
}
